package com.wondersgroup.core.mapper;

import java.util.List;
import java.util.Map;

import com.github.abel533.mapper.Mapper;
import com.wondersgroup.core.model.Company;
import com.wondersgroup.core.resultmap.DTOCompany;

public interface CompanyMapper extends Mapper<Company> {
	/**
	 *  根据公司名称或地址查询返回集合
	 * @param map
	 * @return
	 */
	List<DTOCompany> queryCompany(Map<String, Object> map);
	/**
	 * 查询已经授权 的企业
	 * @return
	 */
	List<DTOCompany> queryAuthorizationCompany();
	
	/**
	 * 查询未授权的企业
	 * @param map
	 * @return
	 */
	List<DTOCompany> queryNotAuthorizationCompany(Map<String, Object> map);
	
 
	long getCountOfTraceableCompany();
	
	/**
	 * 添加新的授权企业
	 * 根据企业ID修改企业状态为加入本平台
	 * 修改企业删除标志为1
	 * 修改联系人姓名与电话
	 */
	
	Integer addAuthorizationCompany(Map<String, Object> map);
	
	/**
	 * 通过ID修改企业信息
	 */
	Integer updateCompany(Map<String, Object> map);
	
	/**
	 * 通过ID修改DEL_FLAG为0:删除状态  修改COMPANY_ACCOUNT_STATUS为2：注销状态
	 * @param companyId
	 * @return
	 */
	Integer deleteCompany(Integer companyId);
	
}